iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
自我挑戰組

後端新手PHP+Laravel筆記系列 第 2

[Day2]PHP的資料型態02

  • 分享至 

  • xImage
  •  

PHP的資料型態

  • Array數組

    PHP中的array 實際上是一個有序映射。映射是一種把 values 關聯到 keys 的類型。

    可以用 array() 方法來結構一個 array 。接受任意數量用逗號分隔的 鍵(key) => 值(value) 。以下範例:

    <?php
    $arry = array( 0 => 'apple', 
                   1 => 'tomato',
                   2 => 'banana',);
    echo $arry[0]; // apple
    
    // 可以使用以下短數組語法
    $arry = [ 0 => 'apple', 
              1 => 'tomato',
              2 => 'banana',];
    echo $arry[0]; // apple
    ?>
    

    沒有鍵名的索引數組

    <?php
    $array = array("apple", "tomato", "banana", );
    var_dump($array);
    
    // 輸出
    array(4) {
      [0]=>
      string(5) "apple"
      [1]=>
      string(6) "tomato"
      [2]=>
      string(6) "banana"
    }   
    ?>
    

    數組可以用在許多地方,以下有些範例

    <?php
    $map = array( 'version' => 4,
                  'OS' => 'Linux',
                  'lang' => 'english',
                  'short_tags' => true
            );
    
    // . . .完全等同於:
    $a = array();
    $a['version'] = 4;
    $a['os'] = 'Linux';
    $a['lang'] = 'english';
    $a['short_tags']  = true;
    
    unset($a['os']); // 刪除 "Linux"
    ?>
    

    輸出集合

    <?php
    $maps = array( 'version' => 4,
                  'OS' => 'Linux',
                  'lang' => 'english',
                  'short_tags' => true
            );
    
    foreach ($maps as $key => $value) {
        echo "$key is $value\n";
    }
    // version is 4
    // OS is Linux
    // lang is english
    // short_tags is 1
    ?>
    

    Array 是有序的。也可以使用不同的排序函数来改變順序。

    數組排序範例

    <?php
    sort($files); // 對value排序
    print_r($files);
    ?>
    
  • Iterable可迭代對象

    它接受任何 array 或實現了 Traversable(可遍歷) 接口的對象。
    這些類型都能用 foreach 迭代, 也可以和 生成器 里的 yield from 一起使用。

    <?php
      function gen(): iterable { // 建立一個可迭代生成器
          yield 1;
          yield 2;
          yield 3;
      }
      $iterable = gen(); // 實例化
      foreach($iterable as $value){
          echo "$value\n";
      }
      // 輸出
      // 1
      // 2
      // 3
    
      // 答案相同
      function gen(): iterable {
          return [1, 2, 3];
      }
      $iterable = gen();
      foreach($iterable as $value){
          echo "$value\n";
      }
    ?>
    

    資料來源:https://www.php.net/manual/zh/


上一篇
[Day1]PHP的資料型態01
下一篇
[Day3]PHP的資料型態03
系列文
後端新手PHP+Laravel筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言